package com.ly.talent.domain;

import java.util.Date;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.ly.common.annotation.Excel;
import com.ly.common.annotation.Excels;
import com.ly.common.core.domain.BaseEntity;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;

/**
 * 人才引进基本信息对象 talent_base_info
 * 
 * @author sfli
 * @date 2021-02-01
 */
public class TalentBaseInfo extends BaseEntity
{
    private static final long serialVersionUID = 1L;

    /** 主键 */
    private Long talentBaseInfoId;

    /** 公司名称 */
    @Excel(name = "公司名称")
    private String orgName;

    /** 是否国高薪企业 */
    @Excel(name = "是否国高薪企业", readConverterExp = "Y=是,N=否")
    private String isHpEnterprise;

    /** 人力资源分管负责人姓名 */
    @Excel(name = "人力资源分管负责人姓名")
    private String principalName;

    /** 人力资源分管负责人电话 */
    @Excel(name = "人力资源分管负责人电话")
    private String principalPhone;

    /** 人力资源分管负责人微信 */
    @Excel(name = "人力资源分管负责人微信")
    private String principalWx;

    /** 所在镇街园区 */
    @Excel(name = "所在镇街园区")
    private String orgAddr;

    /** 拟引进人才姓名 */
    @Excel(name = "拟引进人才姓名")
    private String talentName;

    /** 出生年月 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "出生年月", width = 30, dateFormat = "yyyy-MM-dd")
    private Date birthday;

    /** 本单位入职时间 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "本单位入职时间", width = 30, dateFormat = "yyyy-MM-dd")
    private Date hiredate;

    /** 合同年限 */
    @Excel(name = "合同年限")
    private Long contractLong;

    /** 大学本科学历的学校类型 国内一流学科(china) QS(qs) THE(the) US NEWS(us) */
    @Excel(name = "大学本科学历的学校类型 国内一流学科(china) QS(qs) THE(the) US NEWS(us)")
    private String schoolType;

    /** 本科学历学校-世界排名 */
    @Excel(name = "本科学历学校-世界排名")
    private Long schoolNumber;

    /** 在境外学习时长 */
    @Excel(name = "在境外学习时长")
    private Long learnDay;

    /** 本科学校名称 */
    @Excel(name = "本科学校名称")
    private String uSchoolName;

    /** 本科学校名称英文 */
    @Excel(name = "本科学校名称英文")
    private String uSchoolNameEn;

    /** 本科专业名称 */
    @Excel(name = "本科专业名称")
    private String uSpecialtyName;

    /** 本科专业英文名称 */
    @Excel(name = "本科专业英文名称")
    private String uSpecialtyNameEn;

    /** 本科毕业时间 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "本科毕业时间", width = 30, dateFormat = "yyyy-MM-dd")
    private Date uGraduationTime;

    /** 本科学位 */
    @Excel(name = "本科学位")
    private String uDegree;

    /** 硕士学校名称 */
    @Excel(name = "硕士学校名称")
    private String masterSchoolName;

    /** 硕士学校名称英文 */
    @Excel(name = "硕士学校名称英文")
    private String masterSchoolNameEn;

    /** 硕士专业名称 */
    @Excel(name = "硕士专业名称")
    private String masterSpecialtyName;

    /** 硕士专业英文名称 */
    @Excel(name = "硕士专业英文名称")
    private String masterSpecialtyNameEn;

    /** 硕士毕业时间 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "硕士毕业时间", width = 30, dateFormat = "yyyy-MM-dd")
    private Date masterGraduationTime;

    /** 硕士学位 */
    @Excel(name = "硕士学位")
    private String masterDegree;

    /** 博士学校名称 */
    @Excel(name = "博士学校名称")
    private String phdSchoolName;

    /** 博士学校名称英文 */
    @Excel(name = "博士学校名称英文")
    private String phdSchoolNameEn;

    /** 博士专业名称 */
    @Excel(name = "博士专业名称")
    private String phdSpecialtyName;

    /** 博士专业英文名称 */
    @Excel(name = "博士专业英文名称")
    private String phdSpecialtyNameEn;

    /** 博士毕业时间 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "博士毕业时间", width = 30, dateFormat = "yyyy-MM-dd")
    private Date phdGraduationTime;

    /** 博士学位 */
    @Excel(name = "博士学位")
    private String phdDegree;

    /** 申请人2018年在京应税收入 */
    @Excel(name = "申请人2018年在京应税收入")
    private Double earningsT3;

    /** 申请人2019年在京应税收入 */
    @Excel(name = "申请人2019年在京应税收入")
    private Double earningsT2;

    /** 申请人2020年在京应税收入 */
    @Excel(name = "申请人2020年在京应税收入")
    private Double earningsT1;

    /** 高级专业技术职称类别 1:正高级职称 2:副高级职称 3:中级职称及以下 */
    @Excel(name = "高级专业技术职称类别", readConverterExp = "1=正高级职称,2=副高级职称,3=中级职称及以下")
    private String senior;

    /** 高级专业技术职称发证单位 */
    @Excel(name = "高级专业技术职称发证单位")
    private String seniorOrg;

    /** 审核结果 */
    @Excel(name = "审核结果", readConverterExp = "1=符合,2=不符合,3=待审核")
    private String result;

   /* @Excels({
            @Excel(name = "公司内是否拥有获奖人", targetAttr = "aIs", type = Excel.Type.EXPORT),
            @Excel(name = "所获奖项", targetAttr = "aAwards", type = Excel.Type.EXPORT)
    })*/
    private TalentDetail talentDetail;

    public void setTalentBaseInfoId(Long talentBaseInfoId)
    {
        this.talentBaseInfoId = talentBaseInfoId;
    }

    public Long getTalentBaseInfoId()
    {
        return talentBaseInfoId;
    }
    public void setOrgName(String orgName)
    {
        this.orgName = orgName;
    }

    public String getOrgName()
    {
        return orgName;
    }
    public void setIsHpEnterprise(String isHpEnterprise)
    {
        this.isHpEnterprise = isHpEnterprise;
    }

    public String getIsHpEnterprise()
    {
        return isHpEnterprise;
    }
    public void setPrincipalName(String principalName)
    {
        this.principalName = principalName;
    }

    public String getPrincipalName()
    {
        return principalName;
    }
    public void setPrincipalPhone(String principalPhone)
    {
        this.principalPhone = principalPhone;
    }

    public String getPrincipalPhone()
    {
        return principalPhone;
    }
    public void setPrincipalWx(String principalWx)
    {
        this.principalWx = principalWx;
    }

    public String getPrincipalWx()
    {
        return principalWx;
    }
    public void setOrgAddr(String orgAddr)
    {
        this.orgAddr = orgAddr;
    }

    public String getOrgAddr()
    {
        return orgAddr;
    }
    public void setTalentName(String talentName)
    {
        this.talentName = talentName;
    }

    public String getTalentName()
    {
        return talentName;
    }
    public void setBirthday(Date birthday)
    {
        this.birthday = birthday;
    }

    public Date getBirthday()
    {
        return birthday;
    }
    public void setHiredate(Date hiredate)
    {
        this.hiredate = hiredate;
    }

    public Date getHiredate()
    {
        return hiredate;
    }
    public void setContractLong(Long contractLong)
    {
        this.contractLong = contractLong;
    }

    public Long getContractLong()
    {
        return contractLong;
    }
    public void setSchoolType(String schoolType)
    {
        this.schoolType = schoolType;
    }

    public String getSchoolType()
    {
        return schoolType;
    }
    public void setSchoolNumber(Long schoolNumber)
    {
        this.schoolNumber = schoolNumber;
    }

    public Long getSchoolNumber()
    {
        return schoolNumber;
    }
    public void setLearnDay(Long learnDay)
    {
        this.learnDay = learnDay;
    }

    public Long getLearnDay()
    {
        return learnDay;
    }
    public void setuSchoolName(String uSchoolName)
    {
        this.uSchoolName = uSchoolName;
    }

    public String getuSchoolName()
    {
        return uSchoolName;
    }
    public void setuSchoolNameEn(String uSchoolNameEn)
    {
        this.uSchoolNameEn = uSchoolNameEn;
    }

    public String getuSchoolNameEn()
    {
        return uSchoolNameEn;
    }
    public void setuSpecialtyName(String uSpecialtyName)
    {
        this.uSpecialtyName = uSpecialtyName;
    }

    public String getuSpecialtyName()
    {
        return uSpecialtyName;
    }
    public void setuGraduationTime(Date uGraduationTime)
    {
        this.uGraduationTime = uGraduationTime;
    }

    public Date getuGraduationTime()
    {
        return uGraduationTime;
    }
    public void setuDegree(String uDegree)
    {
        this.uDegree = uDegree;
    }

    public String getuDegree()
    {
        return uDegree;
    }
    public void setMasterSchoolName(String masterSchoolName)
    {
        this.masterSchoolName = masterSchoolName;
    }

    public String getMasterSchoolName()
    {
        return masterSchoolName;
    }
    public void setMasterSchoolNameEn(String masterSchoolNameEn)
    {
        this.masterSchoolNameEn = masterSchoolNameEn;
    }

    public String getMasterSchoolNameEn()
    {
        return masterSchoolNameEn;
    }
    public void setMasterSpecialtyName(String masterSpecialtyName)
    {
        this.masterSpecialtyName = masterSpecialtyName;
    }

    public String getMasterSpecialtyName()
    {
        return masterSpecialtyName;
    }
    public void setMasterGraduationTime(Date masterGraduationTime)
    {
        this.masterGraduationTime = masterGraduationTime;
    }

    public Date getMasterGraduationTime()
    {
        return masterGraduationTime;
    }
    public void setMasterDegree(String masterDegree)
    {
        this.masterDegree = masterDegree;
    }

    public String getMasterDegree()
    {
        return masterDegree;
    }
    public void setPhdSchoolName(String phdSchoolName)
    {
        this.phdSchoolName = phdSchoolName;
    }

    public String getPhdSchoolName()
    {
        return phdSchoolName;
    }
    public void setPhdSchoolNameEn(String phdSchoolNameEn)
    {
        this.phdSchoolNameEn = phdSchoolNameEn;
    }

    public String getPhdSchoolNameEn()
    {
        return phdSchoolNameEn;
    }
    public void setPhdSpecialtyName(String phdSpecialtyName)
    {
        this.phdSpecialtyName = phdSpecialtyName;
    }

    public String getPhdSpecialtyName()
    {
        return phdSpecialtyName;
    }
    public void setPhdGraduationTime(Date phdGraduationTime)
    {
        this.phdGraduationTime = phdGraduationTime;
    }

    public Date getPhdGraduationTime()
    {
        return phdGraduationTime;
    }
    public void setPhdDegree(String phdDegree)
    {
        this.phdDegree = phdDegree;
    }

    public String getPhdDegree()
    {
        return phdDegree;
    }
    public void setEarningsT3(Double earningsT3)
    {
        this.earningsT3 = earningsT3;
    }

    public Double getEarningsT3()
    {
        return earningsT3;
    }
    public void setEarningsT2(Double earningsT2)
    {
        this.earningsT2 = earningsT2;
    }

    public Double getEarningsT2()
    {
        return earningsT2;
    }
    public void setEarningsT1(Double earningsT1)
    {
        this.earningsT1 = earningsT1;
    }

    public Double getEarningsT1()
    {
        return earningsT1;
    }
    public void setSenior(String senior)
    {
        this.senior = senior;
    }

    public String getSenior()
    {
        return senior;
    }
    public void setSeniorOrg(String seniorOrg)
    {
        this.seniorOrg = seniorOrg;
    }

    public String getSeniorOrg()
    {
        return seniorOrg;
    }
    public void setResult(String result)
    {
        this.result = result;
    }

    public String getResult()
    {
        return result;
    }

    public TalentDetail getTalentDetail() {
        return talentDetail;
    }

    public void setTalentDetail(TalentDetail talentDetail) {
        this.talentDetail = talentDetail;
    }

    public String getuSpecialtyNameEn() {
        return uSpecialtyNameEn;
    }

    public void setuSpecialtyNameEn(String uSpecialtyNameEn) {
        this.uSpecialtyNameEn = uSpecialtyNameEn;
    }

    public String getMasterSpecialtyNameEn() {
        return masterSpecialtyNameEn;
    }

    public void setMasterSpecialtyNameEn(String masterSpecialtyNameEn) {
        this.masterSpecialtyNameEn = masterSpecialtyNameEn;
    }

    public String getPhdSpecialtyNameEn() {
        return phdSpecialtyNameEn;
    }

    public void setPhdSpecialtyNameEn(String phdSpecialtyNameEn) {
        this.phdSpecialtyNameEn = phdSpecialtyNameEn;
    }

    @Override
    public String toString() {
        return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
                .append("talentBaseInfoId", getTalentBaseInfoId())
                .append("orgName", getOrgName())
                .append("isHpEnterprise", getIsHpEnterprise())
                .append("principalName", getPrincipalName())
                .append("principalPhone", getPrincipalPhone())
                .append("principalWx", getPrincipalWx())
                .append("orgAddr", getOrgAddr())
                .append("talentName", getTalentName())
                .append("birthday", getBirthday())
                .append("hiredate", getHiredate())
                .append("contractLong", getContractLong())
                .append("schoolType", getSchoolType())
                .append("schoolNumber", getSchoolNumber())
                .append("learnDay", getLearnDay())
                .append("uSchoolName", getuSchoolName())
                .append("uSchoolNameEn", getuSchoolNameEn())
                .append("uSpecialtyName", getuSpecialtyName())
                .append("uSpecialtyNameEn", getuSpecialtyNameEn())
                .append("uGraduationTime", getuGraduationTime())
                .append("uDegree", getuDegree())
                .append("masterSchoolName", getMasterSchoolName())
                .append("masterSchoolNameEn", getMasterSchoolNameEn())
                .append("masterSpecialtyName", getMasterSpecialtyName())
                .append("masterSpecialtyNameEn", getMasterSpecialtyNameEn())
                .append("masterGraduationTime", getMasterGraduationTime())
                .append("masterDegree", getMasterDegree())
                .append("phdSchoolName", getPhdSchoolName())
                .append("phdSchoolNameEn", getPhdSchoolNameEn())
                .append("phdSpecialtyName", getPhdSpecialtyName())
                .append("phdSpecialtyNameEn", getPhdSpecialtyNameEn())
                .append("phdGraduationTime", getPhdGraduationTime())
                .append("phdDegree", getPhdDegree())
                .append("earningsT3", getEarningsT3())
                .append("earningsT2", getEarningsT2())
                .append("earningsT1", getEarningsT1())
                .append("senior", getSenior())
                .append("seniorOrg", getSeniorOrg())
                .append("result", getResult())
                .append("createBy", getCreateBy())
                .append("createTime", getCreateTime())
                .append("updateBy", getUpdateBy())
                .append("updateTime", getUpdateTime())
                .toString();
    }
}